www.gusucode.com > matlab从零到进阶程序与数据 > matlab从零到进阶程序与数据/第5章 图形用户界面(GUI)编程/example7.m
function [] = example7() S.fh = figure('units','normalized',... 'position',[0.1 0.1 0.3 0.3],... 'menubar','none',... 'name','example7',... 'numbertitle','off',... 'resize','off'); S.text = uicontrol('style','text',... 'unit','normalized',... 'position',[0.1,0.85 0.4 0.05],... 'string','change line color'); S.pop = uicontrol('style','popupmenu',... 'unit','normalized',... 'position',[0.6,0.8 0.3 0.1],... 'string',{'red';'green';'blue'; ... 'yellow';'black';'cyan';'magenta'}); S.axes = axes('unit','normalized','position',[0.1 0.1 0.8 0.7]); x=0:pi/50:8*pi; y=sin(x); axes(S.axes); S.hplot=plot(x,y,'color',[1 0 0]); set(S.pop,'callback',{@mycallback,S}); function mycallback(obj,event,S) val = get(obj,'Value'); switch val case 1 set(S.hplot,'color',[1 0 0]); case 2 set(S.hplot,'color',[0 1 0]); case 3 set(S.hplot,'color',[0 0 1]); case 4 set(S.hplot,'color',[1 1 0]); case 5 set(S.hplot,'color',[0 0 0]); case 6 set(S.hplot,'color',[0 1 1]); case 7 set(S.hplot,'color',[1 0 1]); end